package com.hjxr.quota.define.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 指标表实体类(QUOTA)
 *
 * @author ma
 * @date 2020/9/14 - 15:49
 **/
@Data
@ApiModel
@TableName("QUOTA")
@KeySequence(value = "seq_quota", clazz = Integer.class)
public class Quota extends Model<Quota> {
    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.INPUT)
    @ApiModelProperty(value = "自增主键")
    private Integer id;

    @ApiModelProperty(value = "指标名称")
    private String name;
    @ApiModelProperty(value = "指标简称")
    private String uname;
    @ApiModelProperty(value = "指标描述")
    private String description;
    @ApiModelProperty(value = "指标类型，1：元数据指标；2：业务指标；3：政策型指标；4：预测指标")
    private String type;
    @ApiModelProperty(value = "指标代码")
    private String code;
    @ApiModelProperty(value = "指标标签，多个标签用英文逗号隔开")
    private String lable;
    @ApiModelProperty(value = "父指标ID，默认为0")
    private Integer parentId;
    @ApiModelProperty(value = "指标所属主题ID")
    private Integer themeSetId;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建人", hidden = true)
    private String createBy;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createDate;
    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(value = "更新人", hidden = true)
    private String updateBy;
    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(value = "更新时间", hidden = true)
    private Date updateDate;
    @ApiModelProperty(value = "1:数据库表创建；2自定义创建；3根据指标创建4；根据语句创建")
    private String createType;
    @TableLogic
    @ApiModelProperty(value = "状态：0删除 1启用 2禁用")
    private String status;



    @TableField(exist = false)
    private String themeSetTitle;
    @TableField(exist = false)
    private String dimensionNames;
    @TableField(exist = false)
    private String measure;
    @TableField(exist = false)
    private Float value;
    @TableField(exist = false)
    private Float sm;
    @TableField(exist = false)
    private Float mx;
    @TableField(exist = false)
    private Float mn;
    @TableField(exist = false)
    private Integer ct;
    @TableField(exist = false)
    private Float av;


}
